package com.ruoyi.sj.domain;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.base.BaseEntity;

import java.util.Date;

/**
 * 订单表 im_order
 *
 * @author tyc@yanyu.com
 * @date 2018-12-27
 */
@ApiModel(value = "Order")
public class Order extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Integer id;
    /**
     * 编号
     */
    @ApiModelProperty(value = "编号", required = true)
    private String sn;
    /**
     * 类型（0.转账，1.充值，2.提现，3.红包，4.金包，5.入群，6.付款，7.收款）
     */
    @ApiModelProperty(value = "类型", required = true)
    private Integer type;
    /**
     * 支付类型 （余额：balance，微信：weChatPay，支付宝：aliPay，微信APP：weChatPayApp ，微信小程序：weChatPayApplet）
     */
    @ApiModelProperty(value = "支付方式", required = true)
    private String payType;
    /**
     * 商品ID
     */
    @ApiModelProperty(value = "商品ID", required = true)
    private String goodsId;
    /**
     * 商品ID
     */
    @ApiModelProperty(value = "订单标题", required = true)
    private String title;
    /**
     * 用户ID
     */
    @ApiModelProperty(value = "用户ID", required = true)
    private String memberId;
    /**
     * 支付金额
     */
    @ApiModelProperty(value = "支付金额", required = true)
    private String payMoney;
    /**
     * 折扣金额
     */
    @ApiModelProperty(value = "折扣金额", required = true)
    private String discountMoney;
    /**
     * 订单创建日期
     */
    @ApiModelProperty(value = "订单创建日期", required = true)
    private Date createDate;

    @JsonIgnore
    @ApiModelProperty(value = "支付密码")
    private String payPassword;

    @ApiModelProperty(value = "支付信息")
    private String payInfo;

    /**
     * 状态  0、未支付  1、已支付   2、取消订单
     */
    private Integer status;

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    public String getSn() {
        return sn;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getType() {
        return type;
    }

    public void setGoodsId(String goodsId) {
        this.goodsId = goodsId;
    }

    public String getGoodsId() {
        return goodsId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setPayMoney(String payMoney) {
        this.payMoney = payMoney;
    }

    public String getPayMoney() {
        return payMoney;
    }

    public void setDiscountMoney(String discountMoney) {
        this.discountMoney = discountMoney;
    }

    public String getDiscountMoney() {
        return discountMoney;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getPayPassword() {
        return payPassword;
    }

    public void setPayPassword(String payPassword) {
        this.payPassword = payPassword;
    }

    public String getPayInfo() {
        return payInfo;
    }

    public void setPayInfo(String payInfo) {
        this.payInfo = payInfo;
    }

    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("sn", getSn())
                .append("type", getType())
                .append("goodsId", getGoodsId())
                .append("memberId", getMemberId())
                .append("payMoney", getPayMoney())
                .append("discountMoney", getDiscountMoney())
                .append("createDate", getCreateDate())
                .toString();
    }
}
